#pragma once

#include "DataStructure/Common/DataStructureNamespace.h"
#include "DataStructure/Common/Id.h"

SG_DATASTRUCTURE_NAMESPACE_OPEN

/**
 * @brief    二级缓存数据结构
 *
 * @author   wuxingchuang
 * @date     2025.07.10
 */
struct TwoLayersData
{
    SG::DataStructure::Common::I64              m_id = 0;
    std::vector<SG::DataStructure::Common::I64> m_subs;

    TwoLayersData () : m_id (0) {};
    TwoLayersData (SG::DataStructure::Common::I64 p, std::vector<SG::DataStructure::Common::I64> subs) : m_id (p), m_subs (std::move (subs))
    {}
};

/// @brief 比较两个TwoLayersData大小
/// @param lhs
/// @param rhs
/// @return
DECLSPEC bool operator< (const TwoLayersData& nodeA, const TwoLayersData& nodeB);




SG_DATASTRUCTURE_NAMESPACE_CLOSE